这个论坛上的所有问题似乎都没有解决我的具体需求.基本上,我有一个"详细信息"按钮.我希望它在点击时显示一个模态对话框,其中显示了从模型的show.html.erb中提取的信息.我有一个book.rb模型.在索引页面中我有:
<div class="detail_button"><%= link_to "Details", book %></div>
Run Code Online (Sandbox Code Playgroud)
通常单击此按钮会将我带到book/id页面,使用show动作.但我不希望它离开页面,而是我想要一个可以关闭的模态弹出窗口.我在这个论坛上尝试了相关主题的所有jquery和javascript代码,但似乎都没有做到这一点.大多数似乎只针对创建或自定义操作.
为了避免重复,我尝试了以下方法,其中没有一个有效:
这个:
You could look at modal dialogs by www.jqueryui.com. Add jquery ui to your application.
Put a hidden div (display:none) in your layout page.
<div class="modal" style="display:none;">
</div>
Your link should be an ajax link:
<%= link_to 'Link', events_path(@event), :remote => true %>
Your controller should accept ajax response:
def show
@event = Event.find(params[:id])
respond_to do |format|
format.js
end
end
This is where the magic happens. After pressing the link via …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个简单的喜欢/不同的功能.我在这里看到的所有例子似乎都适用于ajax或jquery.我还是初学者,我还没有完全理解,我只想要一个简单的解决方案.
我的想法是,我有书,我有用户.用户可以喜欢书籍.所以我通过Like模型创建了一个多对多关联.Like模型具有相应的数据库,其中包含book_id和user_id列.从而:
class Book < ActiveRecord::Base
has_many :likes
has_many :users, through: :likes
class User < ActiveRecord::Base
has_many :likes
has_many :books, through: :likes
class Like < ActiveRecord::Base
belongs_to :book
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
不幸的是,这是我的理解.我不知道如何利用这种关系来创建喜欢并将它们与相应的书和用户相关联.
我的想法是,如果用户不喜欢这本书,则向用户显示"喜欢"按钮,或者如果他不喜欢,则为用户提供"喜欢"按钮.所以基本上,我想要这么简单:
<% if user likes? %>
<div class="unlike_button"><%= link_to "Unlike", '#' %></div>
<% else %>
<div class="like_button"><%= link_to "Like", '#' %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我使用了#stub,因为我不知道它应该使用什么路由.但无论解决方案是什么,我都希望它重定向到相同的页面,闪存通知说"喜欢"或"不喜欢".我已经为like_button和different_button类提供了div背景图像,这就是我将它们作为上面的图像链接实现的原因.
任何形式的指导或帮助,将深表感谢.谢谢
UPDATE
我在下面跟随Bennick的指导,但我仍然坚持使用rails控制台.我认为,如果我在控制台中遇到错误,那么前进是没有意义的.
正如所建议的,我在控制台中尝试了这个:
正如我已经有用户我没有user = User.find(1)和book = Book.find(1)
但是在下一行 like = Like.create(:user => user, :book => book)返回了一个质量分配错误.Can't …
我正在尝试运行这样的代码:
class Run_Fiction_Generator < Fiction_Generator
def generate_story
puts "Title: \"#{generator.title} #{generator.random_date}\""
puts "---------"
puts generator.story
end
end
prompt = '>'
puts "Hello Welcome to Fiction Generator"
puts "First a little about me: "
puts ""
generator = Run_Fiction_Generator.new
puts "This amazing Fiction Generator was created by: #{generator.created_by}"
puts "He's a student with ID number: #{generator.student_id} "
puts ""
puts "Okay now your story! Enter '1' if you want to generate a story now, or '2' if you don't want to" …Run Code Online (Sandbox Code Playgroud)