我對於使用角度js實現軌道有點新。 我要的是我有使用上的列表索引頁,給了我所有房源使用角度過濾器過濾軌道輸出
Listing.all
我的頁面在it.Lets幾個過濾器說我有性別的過濾器,所以我需要的是當下拉更改其中的列表頁面也應該刷新,現在只顯示具有所選性別的列表。
這裏是我做了什麼: -
/的application.js/
//= require jquery
//= require jquery_ujs
//= require semantic-ui
//= require dropzone
//= require cloudinary
//= require angular
//= require angular-resource
//= require app.js
//= require_tree ./angular
//= require_tree .
/ListingController(導軌)/
def index
@listings=Listing.all
end
/的index.html .erb/
<%=select(:listing,:gender,options_for_select([['Male','Male',{class:'item'}],['Female','Female',{class:'item'}]]),{prompt:'Gender'},{:'ng-model'=>'listing.gender',class:'ui dropdown gender'})%>
<div class="ui divided items" ng-controller="ListingCtrl" ng-init="init(<%= @listings.to_json %>)" ng-repeat="listing in listings | filter:listing.gender">
<div class="item">
<div class="image">
<img src={{listing.photos.first.file_name.url}} class="header"/>
</div>
<div class="content">
<%=link_to '{{listing.title}}','{{listing}}',class:'header'%>
<div class="meta">
<span class="cinema">Posted On
</span>
</div>
<div class="description">
<p>
<%='{{listing.love_for_pets}}'%>
</p>
</div>
<div class="extra">
<div class="ui teal tag label"><i class="rupee icon"></i><%='{{listing.price}}'%></div>
</div>
</div>
</div>
</div>
/角/控制器/ ListingController.js/
app.controller('ListingCtrl', ['$scope', '$resource', function($scope, $resource) {
$scope.init = (listings)
{
$scope.listings = angular.fromJson(listings)
}
}]);
/app.js/
var app = angular.module("PetForLife", ['ngResource'])
/的Gemfile/
gem 'angularjs-rails'
索引頁面被加載,但沒有列表顯示,控制檯上也沒有錯誤。
有人可以幫助我嗎?
我在我的application.html.erb文件的html標記中添加了一個ng-app,對不起,我忘了把它放在這裏。我覺得可能是它的某種路由錯誤。 –
有了角度我不認爲你應該試圖像往常一樣用ruby將數據嵌入到頁面中。您實際上需要將數據傳遞給角度並讓角度處理它。使用角度的關鍵在於你將後端與視圖分開。 – tpie
查看我更新的答案以獲取更多詳細信息... – tpie