我正在努力为用户选择一个图像作为图像索引视图(@image.each do |image|
)的专辑封面。但是,为了有效,单选按钮必须跨越每个图像。我能想到的唯一方法就是在@image.each do |image|
循环中设置一个radio_button_tag
。这不会实现form
标记。单选按钮问题ajax rails
我希望能够将图像表的:albumcover
字段更改为图像的ID(获得该部分)当单选按钮被按下时。
我的企图代码如下。我在加载页面时遇到此错误。
错误
undefined method `ajaxUpdate_admin_album_image' for #<#<Class:0x102450300>:0x1021e94b8>`
的jQuery(images.js.erb)
$(function(){
$('#albumcover_tag').bind('click', function(){
$.ajax({
type: 'PUT',
url: '<%= ajaxUpdate_admin_album_image(:admin, @album, @image) %>',
data: $('#albumcover_tag').val(),
}).success(function(){
alert("success");
});
});
$('.best_in_place').best_in_place();
});
路线
namespace :admin do
root :to => "dashboard#index"
resources :dashboard
resources :albums do
resources :images do
put :ajaxUpdate, :on => :collection
end
end
get "admin/album"
end
控制器
def ajaxUpdate
@album = Album.find(params[:album_id])
@image = @album.images.find(params[:albumcover])
if @image.update_attributes(params[:image])
flash[:notice] = "Successfully updated Image"
else
render "edit"
end
end
查看
<% if [email protected]? %>
<% @images.each do |image| %>
<div class="item">
<div class="image-box">
<div class="source">
<%= image_tag image.source %>
</div>
</div>
<div class="info">
<div class="item-links">
<%= link_to "Edit", edit_admin_album_image_path(@album, image.id), :id => "edit"%>
<%= link_to "Delete",
admin_album_image_path(@album, image.id),
:class => "item-link delete-image",
:method => :delete,
:remote => true,
:confirm => "Are you sure?" %>
</div>
<%= label(:albumcover, 'Set as Album Cover ', :style => "float: left;") %>
<%= radio_button_tag (:albumcover, image.id, false, :id => :albumcover_tag) %> //The Relevant Code
</div>
</div>
<% end %>
<% else %>
<p class="alert">No images in this album</p>
<% end %>
任何帮助将不胜感激!
我觉得应该是** ** ajaxUpdate_admin_album_image_path在你的js代码 – 2013-04-25 22:50:42
同样的错误:/ ... – 2013-04-25 22:55:18
你可以在您的终端中执行** rake routes **并找到方法 – 2013-04-25 23:00:00